Управление департаментами и лимитами

DepartmentManager

Управления департаментами.

class yandex_b2b_go.department.DepartmentManager(client: Client)

Атрибут

  • DepartmentLimitManager — управление лимитом департамента.

    limit: DepartmentLimitManager
    

Методы

  • create — создает департамент.
  • list — получает список департаментов.
  • update — обновляет департамент.
  • delete — удаляет департамент и все подчиненные (дочерние) департаменты.

Create

Создание департамента.

async def create(department: Department) -> DepartmentCreateResponse

Параметр

  • department — данные о новом департаменте. Класс Department.

В случае успешного выполнения возвращает класс DepartmentCreateResponse.

Если переданы неверные параметры, возвращает ошибку ValidationError.

Если код ответа не равен 200, возвращает ошибку ApiError.

Пример вызова

import asyncio

from yandex_b2b_go import Client
from yandex_b2b_go import DepartmentManager
from yandex_b2b_go import typing, errors

TOKEN = '<ваш токен>'

async def main():
    client = Client(token=TOKEN)
    department_manager = DepartmentManager(client=client)
    try:
        department = typing.Department(
            name='Отдел маркетинга'
        )
        response_create = await department_manager.create(department=department)
        ...
    except errors.ValidationError as e:
        return str(e.args)
    except errors.ApiError as e:
        return e

asyncio.run(main())

List

Получает список департаментов.

async def list(
    limit: Optional[int] = None, 
    offset: Optional[int] = None
) -> DepartmentListResponse

Параметры

  • limit — количество выводимых записей. При отсутствии данного параметра возвращается информация о первых 100 записях.

  • offset — количество пропускаемых записей. При отсутствии данного параметра возвращается информация начиная с первой записи.

В случае успешного выполнения возвращает класс DepartmentListResponse.

Если переданы неверные параметры, возвращает ошибку ValidationError.

Если код ответа не равен 200, возвращает ошибку ApiError.

Пример вызова

import asyncio

from yandex_b2b_go import Client
from yandex_b2b_go import DepartmentManager
from yandex_b2b_go import typing, errors

TOKEN = '<ваш токен>'


async def main():
    client = Client(token=TOKEN)
    department_manager = DepartmentManager(client=client)
    try:
        department_list = await department_manager.list(limit=100, offset=0)
        ...
    except errors.ValidationError as e:
        return str(e.args)
    except errors.ApiError as e:
        return e

asyncio.run(main())

Update

Обновляет департамент.

async def update(
    department_id: str, 
    department: DepartmentUpdateRequest
) -> DepartmentUpdateResponse

Параметры

  • department_id — идентификатор департамента, по которому обновляется информация.
  • department — новые данные о департаменте, класс DepartmentUpdateRequest.

В случае успешного выполнения возвращает класс DepartmentUpdateResponse.

Если переданы неверные параметры, возвращает ошибку ValidationError.

Если код ответа не равен 200, возвращает ошибку ApiError.

Пример вызова

import asyncio

from yandex_b2b_go import Client
from yandex_b2b_go import DepartmentManager
from yandex_b2b_go import typing, errors

TOKEN = '<ваш токен>'

async def main():
    client = Client(token=TOKEN)
    department_manager = DepartmentManager(client=client)
    try:
        department = typing.DepartmentUpdateRequest(
            name='Маркетинг B2B'
        )
        response_update = await department_manager.update(department_id='87e8...f646c', department=department)
        ...
    except errors.ValidationError as e:
        return str(e.args)
    except errors.ApiError as e:
        return e

asyncio.run(main())

Delete

Удаляет департамент и все подчиненные (дочерние) департаменты.

async def delete(department_id: str) -> DepartmentDeleteResponse

Параметр

  • department_id — идентификатор департамента, по которому удалять.

В случае успешного выполнения возвращает класс DepartmentDeleteResponse.

Если переданы неверные параметры, возвращает ошибку ValidationError.

Если код ответа не равен 200, возвращает ошибку ApiError.

Пример вызова

import asyncio

from yandex_b2b_go import Client
from yandex_b2b_go import DepartmentManager
from yandex_b2b_go import typing, errors

TOKEN = '<ваш токен>'


async def main():
    client = Client(token=TOKEN)
    department_manager = DepartmentManager(client=client)
    try:
        response_delete = await department_manager.delete(department_id='87e8...646c')
        ...
    except errors.ValidationError as e:
        return str(e.args)
    except errors.ApiError as e:
        return e

asyncio.run(main())

DepartmentLimitManager

Управление лимитами департамента.

class yandex_b2b_go.departemnt.DepartmentLimitManager(client: Client)

Атрибут

  • DepartmentTaxiLimitManager — управление лимитом департамента для поездок в сервисе Такси.

    taxi: DepartmentTaxiLimitManager
    

DepartmentTaxiLimitManager

Управление лимитом департамента для поездок в сервисе Такси.

class yandex_b2b_go.department.DepartmentTaxiLimitManager(client: Client)

Методы

  • get — получает лимит департамента на поездки.
  • update — изменяет лимит департамента на поездки.

Get

Получает лимит департамента на поездки.

async def get(department_id: str) -> DepartmentBudget

Параметр

  • department_id — идентификатор департамента, по которому запрашивается лимит.

В случае успешного выполнения возвращает класс DepartmentBudget.

Если переданы неверные параметры, возвращает ошибку ValidationError.

Если код ответа не равен 200, возвращает ошибку ApiError.

Пример вызова

import asyncio

from yandex_b2b_go import Client
from yandex_b2b_go import DepartmentManager
from yandex_b2b_go import typing, errors

TOKEN = '<ваш токен>'


async def main():
    client = Client(token=TOKEN)
    department_manager = DepartmentManager(client=client)
    try:
        department_limit_taxi = await department_manager.limit.taxi.get(department_id='87e8...646c')
        ...
    except errors.ValidationError as e:
        return str(e.args)
    except errors.ApiError as e:
        return e

asyncio.run(main())

Update

Изменяет лимит департамента на поездки.

async def update(
    department_id: str, 
    limit: DepartmentBudget
) -> DepartmentUpdateResponse

Параметры

  • department_id — идентификатор департамента, по которому изменяется лимит.
  • limit — обновленная информация о лимите департамента, класс DepartmentBudget.

В случае успешного выполнения возвращает класс DepartmentUpdateResponse.

Если переданы неверные параметры, возвращает ошибку ValidationError.

Если код ответа не равен 200, возвращает ошибку ApiError.

Пример вызова

import asyncio

from yandex_b2b_go import Client
from yandex_b2b_go import DepartmentManager
from yandex_b2b_go import typing, errors

TOKEN = '<ваш токен>'


async def main():
    client = Client(token=TOKEN)
    department_manager = DepartmentManager(client=client)
    try:
        limit = typing.DepartmentBudget(budget=10000)
        response_update = await department_manager.limit.taxi.update(department_id='87e8...646c', limit=limit)
        ...
    except errors.ValidationError as e:
        return str(e.args)
    except errors.ApiError as e:
        return e

asyncio.run(main())
Предыдущая
Следующая